1. Field of the Invention
This invention relates to the field of information networks, and more particularly, to configuring communication information for multiple network access providers on a computer system, to allow more efficient access to different service providers from the same computer system and from different geographic locations.
2. Description of the Related Art
A significant development in computer networking is the Internet, which is a sophisticated global wide area network (WAN) of computer systems. In order to send and receive messages over the Internet, an individual user's computer system must be connected to a network server computer system, commonly known as a server. User's may have their own server or they may subscribe to an Internet service provider (ISP) for access to a server. The servers are in turn connected to a backbone node which allows access to other servers, thereby forming the Internet. There are many different hardware and software technologies used to connect individual users and networks to the Internet. Known connection types, also referred to as communication mediums, include dial-up modem access, Integrated Services Data Network (ISDN), point-to-point services such as T1 or 56K circuits, switched technologies such as Frame Relay, X.25, Switched Multimegabit Data Service (SMDS), Asynchronous Transfer Mode (ATM), wireless radio communication, and traditional local area network (LAN) technologies such as Ethernet or the fiber distributed data interface (FDDI).
The term network service provider, as used in the present application, refers to ISPs as well as any other providers of communication network services that may or may not be associated with the Internet.
One of the fastest growing areas in Internet usage is the individual user using access technologies such as asynchronous dial-up modems or circuit-switched technologies such as ISDN. Many computer systems include a modem or serial ports that can be easily used to access networks via asynchronous dial-up connections. While these devices provide the hardware for physical transport of data, corresponding software routines and addressing protocols are required to pack up the data for transmission as well as determining a destination for the data in the communication network. In dial-up systems, the data packets are transmitted through a telephone system to a server and then through backbone nodes until they reach the destination server.
The Internet Protocol (IP) is a widely used method for transporting data within and between communications networks. IP combines the functions of internode linking with those of links between physical networks to provide communications paths between nodes on different networks. Each IP packet consists of a header and a payload. The IP header provides addressing and control information such as the IP version number, the amount of data in the packet, a destination address, and a source address. The packet payload contains information such as extension headers, higher-level protocol headers, and application or user-level content. Each IP packet is treated completely independently from all others.
Higher-level protocols rely on IP to perform more complex services. The two principal higher-level protocols that make use of IP are user datagram protocol (UDP) and transmission control protocol (TCP). UDP introduces a further point of delivery, known as a port. A port is associated with a particular program or application that listens for information sent to that particular location. TCP also uses ports, as well as packet numbering and tracking, to ensure delivery, or at least provide delivery error information, for all messages. TCP accounts for the majority of traffic using IP in the Internet, while UDP is more widely used for local area network file systems. The two protocols are part of a layered networking protocol referred to as TCP/IP as shown in FIG. 1. Each layer has a different network responsibility. If there are two hosts on a network, each host layer will communicate on a logical basis with its equivalent layer on the other host. For example, the IP internetwork layer on one host will communicate logically with the IP internetwork layer on the other host across the Internet. The physical communication of data occurs on the physical link layer.
To transmit and receive packets, a host computer system must be connected to a server or router, which determines where to send packets from that point. Each server has a unique address associated with it that allows it to be identified from among other servers connected to the Internet. TCP/IP software running on the originating host computer system must therefore have access to the server's address as well as other protocol information. Further, an ISP typically provides services such as electronic mail (hereinafter “e-mail”) and web page hosting for clients. Configuration information such as usernames, passwords, and mail box account names along with communication protocol information is therefore required. This configuration information is often set-up through a utility program provided in the operating system on the user's computer system. Although configuration information for some of the larger ISPs may be preset when a user purchases a new computer system, this information must typically be entered by the user if they choose a local or regional ISP. Further, when a user moves from one geographic location to another, the ISP's local dial-up access telephone number may change. Additionally, a user may wish to use different ISPs and different types of connections or communication mediums, such as modems, ISDN, and T1 links, from the same computer at different times and/or different locations, as well as when using different application programs.
The Internet is formed of a worldwide collection of wide area networks (WANs). For non-dedicated Internet access via an analog dial-up service, traditional data and voice networks connecting any two locations typically use a local and a long distance telephone service provider. The local access provider connects a users premises to its nearest central office, where the call is then handed off to the long distance access provider. The same process is mirrored at the receiver's end where the long distance provider hands off the call to the local access provider. The hand-off point on the long distance network is referred to as point of presence (POP). Although a dial-up connection provides the physical transport for data, means to transport higher layer TCP/IP protocols over point-to-point communications media such as modem dial-up or ISDN is required.
One such protocol for transmitting IP packets over serial point-to-point communications links is serial line Internet protocol (SLIP), which was designed to operate over dedicated, character-oriented, asynchronous lines such as RS-232. SLIP has several deficiencies, such as each end must know the other end's IP address, a serial line cannot be shared between SLIP and another protocol, and there is no checksum added to the SLIP packets; SLIP relies on error-checking modems or on the higher network layers to detect errors. Another such protocol is point-to-point protocol (PPP) which is a serial line protocol that was developed to remedy known shortcomings of SLIP. PPP is primarily designed as a standards-based encapsulation protocol for network layer protocols such as IP across serial, point-to-point links. However, unlike SLIP, PPP was designed to support higher rates of data transfer and other known network layer protocols such as IPX, AppleTalk, DECnet, and OSI. PPP also performs error-checking via a cyclic redundancy check on each packet.
TCP/IP packets are sent back and forth using IP addresses that identify the sender and receiver of the data. Each server on the Internet has a unique address associated with it that allows it to be identified from among other servers connected to the Internet. Currently, IP addresses are written as four decimal integers separated by decimal points. Thus, a 32-bit numeric address is written as xx.xx.xx.xx, for example 128.10.2.30. To accommodate the growing number of users on the Internet, an alternate addressing system is being developed to allow a greater number of IP addresses.
Since humans tend to be more comfortable when using the host name of a server instead of its numeric address, a domain name system (DNS) has been developed. The DNS is essentially one distributed database system that provides the mapping between IP address and host names. The term “distributed” refers to the fact that no single site on the Internet knows all the mapping information. Each site in the distributed system maintains its own database and runs a name server that other systems across the Internet can query. The DNS is hierarchical with two or more levels that form a tree structure through the server nodes, with each server being responsible for its own domain or section of the name space.
A user may have access to the Internet through one or more ISPs and one or more different communication mediums. For example, ISPs that charge monthly subscription rates typically offer a free trial period to allow a user to try their service before subscribing. Additionally, a user may have dial-up modem access with one ISP and T1 access to another server. Currently, the user must manually alter the configuration information each time a different communication medium and/or different telephone access number is used. Therefore a mechanism that allows a user to store configuration information for several ISPs having different connection types and different geographical locations and to easily select one to connect to is desired.
Still further, with the growing popularity of portable microprocessor-based computers and personal communication systems, it is desirable to provide means for a user equipped with a portable device to select from among several pre-configured ISPs. If a dial-up connection is used through the telephone system, it is desirable to use a local telephone number to access an ISP instead of a long distance number for the ISP. In this manner, several locations for the same ISP can be configured with different local telephone access numbers to connect without reconfiguring ISP information or incurring long distance telephone charges.